In modern communications and data processing systems, methods for the reliable encryption and decryption of data are becoming increasingly important. Encryption is usually performed with the aid of key data, also referred to in the following text as key for short, with the aim of preventing as reliably as possible a decryption without knowledge of the key.
One known and very secure method of data encryption is based on using pairs of keys, including a public key and a private key in each pair. The private and public keys are related to each other in such a way that data encrypted with the public key can be decrypted again solely using the associated private key. It is therefore possible to transmit a document in encrypted form from a sender to a recipient, after the sender obtains the public key of the recipient, the document is encrypted with the public key and is transmitted in encrypted form to the recipient. The recipient can then decrypt the encrypted document using his private key, and only using the private key. A public transmission of the public key does not jeopardize the security of the transmission since, provided the key is long enough, it is virtually impossible to derive the private key from the public key.
Owing to its complex mathematical structure, however, performance of an encryption method based on public and private keys is very computer-intensive and requires considerable computing capacities, especially given the high data transmission rates common today.
In addition, the calculation of private and public keys also requires a comparatively large amount of computing power, which consequently makes a change or a dynamic assignment of keys much more difficult.